package com.zjuee.base.model.common.ledger;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zjuee.base.model.Description;
import lombok.*;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 处置台账明细表
 *
 * @author wu liang
 * @since 1.0
 */
@Data
@TableName("wk_ledger_dispose_bill")
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class LedgerDisposeBill extends Description {

    /**
     * 企业ID
     */
    private Long bciId;

    /**
     * 计划ID
     */
    private Long wpiId;

    /**
     * 处置台账汇总表ID
     */
    private Long wldgId;

    /**
     * 联单ID
     */
    private Long wosdId;

    /**
     * 联单编号
     */
    @TableField(exist = false)
    private String wldbOrderCode;

    /**
     * 台账来源 1：手动填报 2：危废联单 3：固废联单 4：跨省联单
     */
    private Integer wldbFrom;
    /**
     * 台账来源 1：手动填报 2：危废联单 3：固废联单 4：跨省联单 -中文
     */
    @TableField(exist = false)
    private String wldbFromStr;


    /**
     * 台账类型 1：普通台账  2：应急台账  3：收集台账
     */
    private Integer wldbMark;
    /**
     * 台账类型-中文
     */
    @TableField(exist = false)
    private String wldbMarkStr;

    /**
     * 转移类型
     */
    private Integer wldbSign;
    /**
     * 转移类型-中文
     */
    @TableField(exist = false)
    private String wldbSignStr;

    /**
     * 废物大类别  1：危废  2：固废
     */
    private Integer wldbModel;
    /**
     * 废物大类别-中文
     */
    @TableField(exist = false)
    private String wldbModelStr;

    /**
     * 废物小类别  11：危废  12：医废  21：固废 22：大宗固废
     */
    private Integer wldbType;

    @TableField(exist = false)
    private String wldbTypeStr;
    /**
     * 废物大类
     */
    private String wldbBcode;

    /**
     * 废物小类
     */
    private String wldbScode;

    /**
     * 废物名称(计划中手动输入名称)
     */
    private String wldbName;

    /**
     * 联单填写时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd" ,timezone = "GMT+8")
    private Date wldbOrderTime;

    /**
     * 转入量(吨)
     */
    private BigDecimal wldbShift;

    /**
     * 处置量(吨)
     */
    private BigDecimal wldbDispose;

    /**
     * 库存量(吨)
     */
    private BigDecimal wldbStock;

    /**
     * 应急单
     */
    private String wldbUrgentSheet;

    /**
     * 备注
     */
    private String wldbRemark;

    /**
     * 创建人
     */
    private String wldbCreator;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
    private Date wldbCreateTime;

    /**
     * 修改人
     */
    private String wldbModifier;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
    private Date wldbModifiedTime;


    /**
     * 开始时间
     */
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
    private Date startTime;
    /**
     * 结束时间
     */
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
    private Date endTime;


}
